The present invention relates to computer context switching arrangements.
It is known in the art that a personal computer or workstation may be provided with a context switching capability whereby the user can select which of two or more images, generated from screen data output by respective concurrently executing programs, it is desired to have displayed on the video monitor at any given time. In operation, the screen data from a first, selected program is maintained in the memory, or "screen buffer", from which the image is actually generated, while the screen data from, for example, a second, non-selected program is stored in an alternate screen buffer. Any updates to the screen data from the first and second programs are directed to the screen buffer and alternate screen buffer, respectively. When a context switch is thereafter called for by the user, the contents of the screen buffer and alternate screen buffer are interchanged and any updates to the screen data from the first and second programs are directed to the alternate screen buffer and screen buffer, respectively.
The screen output from additional concurrently executing programs is accommodated via a straightforward extension of the foregoing using further alternate screen buffers.
In a typical multi-tasking environment, the operating system is wholly in control of all applications executing under it and, based on user input as to which program's image is to be displayed, can fully control the context switching mechanism as described above. In some situations, however, this may not be the case. For example, our co-pending U.S. patent application, Ser. No. 785,842, filed of even date herewith, discloses a personal computer in which programs written for execution in a first, illustratively the UNIX.RTM., operating system environment are executed concurrently with programs written for execution in a second, illustratively the MS-DOS.RTM., operating system environment. At the heart of the computer is a microprocessor having protected and non-protected modes of operation in which the UNIX and MS-DOS systems respectively operate. Since the UNIX system operates in protected mode and is in direct control of its applications, it can control, in a well-defined way, which of their screen data are actually sent to the screen buffer. There is, however, no ready mechanism for ensuring that the MS-DOS system or its applications, executing in non-protected mode, would not write to the screen buffer irrespective of the user's intent to the contrary.